Perturbation apparatus and method for user detection in a multiple-access communication system

ABSTRACT

A single-user detection method operates to reduce the effects of interference in multi-user detection systems. Based upon a number of received user codes, a receiver defines a frame of symbols containing at least one window. A symbol amplitude of a single-user in a multi-user system is approximated over the window of the frame and a perturbative correction value is calculated based upon a correlation or decorrelation matrix, which is determined by the delay spread of the signals. An estimation of the symbol amplitude of the single-user signal is calculated over one or a number of windows of the frame. The single-user signal is detected when the symbol amplitudes of the entire signal within the frame has been calculated.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a multi-user detection scheme ina direct sequence code-division multiple-access (DS-CDMA) system and,more particularly, to a method and apparatus for reducing thecomputations of a DS-CDMA receiver.

[0003] 2. Description of Related Art

[0004] With the advent of cellular telephones and portable computers,wireless communication has become a preferred and increasingly prevalentmethod of communication. Multi-user detection used in wirelesscommunication is directed toward the demodulation of digitally modulatedsignals in the presence of multi-access interference (MAI). Multi-userdetection is most often applied in Code-Division Multiple-Access (CDMA)receiver designs. CDMA involves a method of multiplexing a group ofusers where each user is identified by a distinct code. Multiplexingallows any number of users the ability to transmit signalssimultaneously, and allocates the entire available frequency spectrum toeach user.

[0005] DS-CDMA is a popular technique of CDMA in which the transmittermultiplies each user's signal by a distinct code waveform. The receiver,due to an overlap of signals in time and frequency, detects a signalcomposed of the sum of all users' signals. The MAI component of thereceived signal is the result of random time offsets between therespective users' signals and makes the optimal design of orthogonalwaveforms very difficult. In detecting a signal, a conventional DS-CDMAsystem uses an auto-correlation technique in which the entire receivedsignal is correlated to a particular user's code waveform. Thistechnique is limited because of a single-user detection strategy, whichdetects each user separately, not taking into account information withinthe signals of other users.

[0006] Multi-user detection strategies have been developed that useinformation of many users to better detect the coded signal of eachindividual user. These strategies are further described by ShimonMoshavi in “Multi-User Detection for DS-CDMA Communications”, IEEECommunications Magazine, October 1996, hereby incorporated by reference.Some prior art multi-user detection methods use techniques that modelthe received signal over the entire message. While this method capturesa comprehensive interaction of users, the computations involve anensemble of many bits, which introduces an abundance of excessprocessing. Other prior art methods involve partial correlation, whichaccounts for the partial overlap of bits within a channel. However, suchmethods require much iteration to compensate for signal loss due tointerference.

[0007] In light of the limitations of the aforementioned prior art,there is a need for a DS-CDMA system that can effectively reduce theeffects of signal interference when detecting the signal of a particularuser within a multi-user system.

SUMMARY OF THE INVENTION

[0008] The present invention provides a method and apparatus tosignificantly reduce the amount of processing necessary to attain areduction in the effects of interference when detecting the signal of asingle-user within a multi-user system.

[0009] In accordance with the purpose of the invention, as embodied andbroadly described, one aspect of the invention provides a method ofsingle-user projection detection in a multiple access communicationsystem. The method comprises the steps of defining a frame including aplurality of user signals, each user signal having at least threesymbols within a window of the frame; approximating a plurality ofsymbol amplitudes for each user among a plurality of users in thewindow; computing a set of correlation matrices based upon a pluralityof channel parameters in the frame; calculating a current estimate ofthe approximated symbol amplitudes corresponding to at least one symbolof every user in the window using the set of correlation matrices in aperturbation correction technique; and shifting the window of the frameand returning to the step of calculating a current estimate of thesymbol amplitude, when an entire user signal has not been processed.

[0010] Another aspect of the present invention provides a method ofmulti-user decorrelation detection in a multiple-access communicationsystem. The method comprises the steps of defining a frame including aplurality of user signals, each user signal having at least threesymbols within the frame; approximating a plurality of symbol amplitudesfor each user among a plurality of users in the frame; computing adecorrelation matrix and a set of correlation matrices based upon aplurality of channel parameters in the frame; calculating a currentestimate of the approximated symbol amplitudes corresponding to at leastone symbol of every user in the window using the decorrelation matrixand a set of correlation matrices in a perturbation correctioncalculation; and shifting the window of the frame and returning to thestep of calculating a current estimate of the symbol amplitude, when anentire user signal has not been processed.

[0011] Still another aspect of the present invention provides a methodof detecting at least one of a plurality of users in a multiple-accesscommunication system. The method comprises the steps of defining a frameincluding a plurality of user signals, each signal being allocated atleast three symbols within a window of the frame; comparing a delayspread of the frame to a predetermined threshold; approximating a symbolamplitude for each user of the plurality of users in the window;computing a set of correlation matrices and a decorrelation matrix basedupon a plurality of channel parameters in the frame, the set ofcorrelation matrices and decorrelation matrix being determined by aresult of the delay spread comparison; calculating a current estimate ofthe approximated symbol amplitude corresponding to at least one symbolof each user in the window using the determined matrices in aperturbation correction calculation; and shifting the window of theframe and returning to the step of calculating a current estimate of thesymbol amplitude, when an entire user signal has not been processed.

[0012] Another aspect of the present invention provides a method ofdetection in a multiple access communication system. The methodcomprises the steps of defining a frame including a plurality of usersignals, each user signal having at least three symbols within a windowof the frame; approximating a symbol amplitude for each user of theplurality of users in the frame; obtaining a perturbation correctionvalue using immediate feedback, wherein a new estimated amplitude isused as soon as it is available; calculating a current estimate of theapproximated symbol amplitude corresponding to at least one symbol ofevery user in the frame based upon a perturbation correctioncalculation; and shifting the window and returning to the step ofcalculating a current estimate of the symbol amplitude, when an entireuser signal has not been processed.

[0013] In addition, another aspect of the invention provides anapparatus for detecting at least one of a plurality of users in amultiple-access communication system. The apparatus comprises means fordefining a frame, wherein the frame includes a plurality of user signalseach user signal having at least three symbols within a window of theframe; means for approximating a plurality of symbol amplitudes for eachuser among a plurality of users in the window; means for computing a setof correlation matrices based upon a plurality of channel parameters inthe frame; means for calculating a current estimate of the approximatedsymbol amplitudes corresponding to at least one symbol for every user inthe window using the set of correlation matrices and the decorrelationmatrix in a perturbation correction technique; means for shifting thewindow of the frame and recalculating the current estimate of the symbolamplitude when an entire user signal has not been processed; and meansfor detecting the signal of at least one of a plurality of users whenthe symbol amplitude for the at least one user has been estimated.

[0014] Additional features and advantages of the invention will be setforth in the description which follows, and in part will be apparentfrom the description, or may be learned by practice of the invention.The objectives and other advantages of the invention will be realizedand attained by the system and method particularly pointed out in thewritten description and claims hereof as well as the appended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1A illustrates the structure of a perturbation CDMA receiverconsistent with the present invention;

[0016]FIG. 1B illustrates the defined frame of user signals consistentwith the present invention;

[0017]FIG. 2 shows a flow diagram illustrating single-user projectiondetection consistent with the present invention;

[0018]FIG. 3 shows a flow diagram illustrating multi-user decorrelationdetection consistent with the present invention;

[0019]FIG. 4 shows a flow diagram illustrating a combined detection ofat least one user consistent with the present invention;

[0020]FIG. 5 shows a flow diagram illustrating single-user projectiondetection using immediate feedback consistent with the presentinvention;

[0021] FIGS. 6-11 illustrate the results of perturbation correctionsimulation consistent with the present invention.

DETAILED DESCRIPTION

[0022]FIG. 1A illustrates general features of a perturbation CDMAreceiver 100 consistent with the present invention. At a transmitter(not shown) a signal of a user is modulated using a shift-keyingtechnique, multiplied by a distinct user code, and subsequentlytransmitted. A received signal r(t) includes information of all userstransmitting information across multiple channels. Perturbation CDMAreceiver 100 receives signal r(t) as a series of binary pulses calledsymbols. To detect a signal of one or more users, perturbation CDMAreceiver 100 includes a user code i generator 102, user code j generator116, correlator banks 104, 112, 118, received signal frame buffer 108,summer banks 110 and 124.

[0023] Code i generator 102 is an oscillator that locally generates adistinct user code to detect the information of a single user i inreceived signal r(t). Due to code delay derived from the delay locktracking of received signal r(t), the user code generated by usergenerator 102 begins at a time τ_(i).

[0024] Code j generator 116 is an oscillator that locally generates thedistinct user codes corresponding to users other than user i havinginformation contained in received signal r(t). User signals havingdistinct codes and delays are identified as interference signals.

[0025] Frame buffer 108 buffers the received signal r(t) and separatesthe signal into contiguous windows, where each user signal within aparticular window contains three symbols with values—1, 0, and 1.

[0026] Correlator banks 104, 112, and 118 contain multiplier banks 105,113, and 119, respectively for matching the information of two separatesignals, and integrator banks 107, 115, and 121, respectively, tosuppress portions of the matched information. The signals matched byeach abovementioned correlator will be described in further detailbelow.

[0027] Summer banks 110 and 124 add the results of at least two signalsto calculate the effects of interference. The operation of summer banks110 and 124 will be described in further detail below.

[0028] In FIG. 1A, multiplier bank 105 of correlator bank 104 matches asample of the code generated by user code i generator 102 and acorresponding coherent sample from the symbols S(−1), S(0), and S(+1),respectively, of received signal r(t), through a multiply operation.Next, integrator bank 107 of correlator bank 104, integrates the productover the duration of each respective symbol, and dumps the integrationresult. The dumped integration result represents single-user detectionvalues or zero-order amplitudes of the user signal and is used whencalculating the amplitude of users other than user i having informationcontained in received signal r(t).

[0029] Multiplier bank 119 of correlator bank 118 matches a sample ofeach generated user code jl through jM generated by code j generator 116corresponding to a user signal included in signal r(t), to a sample ofthe symbols S(−1), S(0), and S(+1), respectively, corresponding to awindow of received signal r(t), through a multiply operation. Integratorbank 121 of correlator bank 118 integrates the product producing threezero-order amplitudes for each generated user code jl through jM at thegiven code delay. Next, multiplier bank 122 multiplies the zero orderamplitudes by the corresponding generated user code jl through jM. Next,summer bank 124 adds the results of multiplier bank 122 producing asignal having a time sequence in parallel with the received signal r(t).Summer bank 110 produces signal r′(t) by computing a difference betweenthe resultant signal of summer bank 124 and the portion of signal r(t)contained in the window under analysis. Multiplier 113 of correlatorbank 112 matches the middle symbol of signal r′(t) with the user code igenerated by user code i generator 102 and integrator 115 suppresses anyunwanted portions of the signal to produce the first order correctedamplitude a_(in).

[0030]FIG. 1B illustrates an example of a 3-symbol window used inimplementing the present invention. In practical CDMA applications, thechannel is asynchronous, which means the non-coherent signals arerandomly delayed and offset from one another. Because each user code hasa different delay, the symbol boundary of a particular user coderelative to the symbols of all the user codes in a window arenon-uniform, i.e., asynchronous. Therefore, in embodiments consistentwith the present invention, at time t within any 3-symbol window, thereceived non-coherent spread spectrum baseband signal corresponding to Musers can be written as follows: $\begin{matrix}{{r(t)} = {\sum\limits_{i = 1}^{M}{\sum\limits_{n = {- 1}}^{1}{a_{i\quad n}{\psi_{i}\left( {t - \tau_{i} - {n\quad T}} \right)}}}}} & (1)\end{matrix}$

[0031] where

[0032] ψ_(i)=spreading code of user i,

[0033] τ_(i)=time delay of ψ_(i) at t=0,

[0034] T=symbol period; τ_(i)<T,

[0035] a_(in)=amplitude of nth symbol of ith user.

[0036] ψ_(i) is defined for t between τ_(i)+nT and τ_(i)+(n+1)T, andψ_(i) is zero for t outside the current window of the frame. As shown inFIG. 1B, any three users are represented by three codes: Code 1, Code 2,and Code i. Each user's code is segmented into three symbols (S1, S2,S3), and each user has one symbol starting in each of three timeintervals [−T, 0], [0, T], and [T, 2T]. For example, user i has thefirst symbol S1 starting at time τ_(i)−T and ending at time τ_(i), thesecond symbol S2 starts at time τ_(i) and ends at time τ_(i)+T, and thethird symbol S3 starts at time τ_(i)+T and ends at time τ_(i)+2T. Anysymbol that does not fall in current intervals will have no effect onthe symbols in the current intervals.

[0037] A detailed flowchart illustrating one aspect of perturbationcorrection calculations according to the present invention is shown inFIG. 2. The flow chart illustrates the processing that takes placeduring single-user projection by the CDMA receiver 100. With referenceto FIG. 2, in step 200, frame buffer 108 receives the transmitted signaland defines the window as shown in FIG. 1B. Over the course of thetransmission, the user signals within a current window of the frame arecommunicated over a significantly invariant channel. Specifically, thechannel parameters for each user including code, code delay, carrierfrequency, and phase are nearly constant over the entire signal. Codedelay is the beginning time of a code measured by a common referenceclock. Carrier frequency is the frequency of the sinusoidal function ofthe oscillator (not shown) used in the transmitter to up convert thebaseband signal to a desired band (range of frequency) for transmission.CDMA receiver 100 regains the original baseband signal by downconverting the received signal with a signal generated by user code igenerator 102 having the same carrier frequency and phase of theoriginal oscillator. The variable r in Eq. (1) defines the basebandsignal. The correlation value is an implicit function of the measuredr(t) and is usually a complex quantity due to the variable phase at theCDMA receiver 100. Here, although computations using r(t) mainly involvethe real part of the value, the imaginary part may also be treated inthe same manner. Therefore, embodiments consistent with the presentinvention are constructed based on the assumption that the channelparameters are constant over an entire frame. Each channel parameter isfurther defined by a set of margins—a range of values having upper andlower limits—that also determine the duration of the frame. Because thevalues in the range are usually determined by the resolution of themeasurement apparatus, the range values are regarded as nearly constant.The tracking of these parameters has been treated extensively in CDMAsystems, is well known, and is not discussed in further detail.

[0038] In step 202, the amplitude of one of the user signals within thedefined frame is approximated using an auto-correlation technique. Thistechnique is effective to maximize the signal and minimize theinterference or cross-correlation. The zero-order approximation isperformed neglecting interference, which means that delay tracking isassumed perfect and user codes jl through jM are nearly orthogonal. Thesingle user detector computes symbol amplitude a_(in) with bit (±1) datafrom equation (1) as follows: $\begin{matrix}{{{a_{i\quad n} \approx c_{i\quad n}} = \frac{\left( {{\psi_{i}\left( {\tau_{i} + {n\quad T}} \right)},r} \right)}{\left( {{\psi_{i}\left( {\tau_{i} + {n\quad T}} \right)},{\psi_{i}\left( {\tau_{i} + {n\quad T}} \right)}} \right)}};{r_{i} = c_{i0}}} & (2)\end{matrix}$

[0039] Eq. (2) uses the scalar product notation (x,y) for correlationdefined as (x,y)=∫_(o) ^(T)x(t)y(t)dt. These terms in equation (2) aredefined above in connection with equation (1),

[0040] Because this approximation is calculated assuming orthogonalcodes, which are not normally encountered in actual practice, acorrection value is obtained according to the perturbation theory. Usingperturbation theory and assigning c′_(in) as the correction value andc_(in) as the estimated value given by Eq. (2), a_(in) is defined asfollows:

a _(in) =c _(in) +c′ _(in)   (3)

[0041] If a_(in) defined in equation (3) is substituted into equation(1) the following equation (4) results: $\begin{matrix}{{\sum\limits_{i = 1}^{M}{\sum\limits_{n = {- 1}}^{1}{c_{i\quad n}^{\prime}{\psi_{i}\left( {t - t_{i} - {n\quad T}} \right)}}}} = {{r(t)} - {\sum\limits_{i = 1}^{M}{\sum\limits_{n = {- 1}}^{1}{c_{i\quad n}{\psi_{i}\left( {t - t_{i} - {n\quad T}} \right)}}}}}} & (4)\end{matrix}$

[0042] In equation (4), r(t) represents the measured value of thereceived signal. The variable c_(in) represents the estimated valueobtained from Eq. (2), and ψ_(i) represents the given user codes. Allvalues on the right hand side of equation (4) are known, whereas,c′_(in) values located on the left hand side of equation (4) are theonly unknown values.

[0043] The perturbation correction value c′_(in) is calculated (step204) based upon the cross-correlation between the symbol of one user andthe adjacent symbols of other users within a current window of theframe. This correction value is obtained by calculating c′_(in) inequation (4) using the present values for user i, and current symboln=0. When the value of the right-hand side of equation (4) has beencalculated for the symbol of a user i, a value of the perturbationcorrection in matrix-vector notation is approximately given as:$\begin{matrix}{{c_{j\quad 0}^{\prime} = {\frac{r_{j}}{N_{j0}} - {\sum\limits_{i = 1}^{M}{\sum\limits_{n = {- 1}}^{1}{c_{i\quad n}{H_{j\quad i}(n)}}}}}};{j = {1\quad t\quad o\quad M}}} & (5)\end{matrix}$

[0044] where the correlation matrix H_(ji)(n) represents thecross-correlation between the adjacent symbols n=−1, 0, 1 within thecurrent window of the frame and between user code i and user code j. Thecorrelation matrix is given by $\begin{matrix}{{H_{j\quad i}(n)} = {\frac{1}{N_{j0}}\left( {{\psi_{j}\left( \tau_{j} \right)},{\psi_{i}\left( {\tau_{i} + {n\quad T}} \right)}} \right)}} & (6)\end{matrix}$

[0045] where N_(j0) provides a normalization value defined byN_(j0)=(Ψ_(i)(τ_(i)), Ψ_(j)(τ_(j))). As indicated in the formula, thecorrelation matrix is a function of codes i and j and their respectivedelays τ_(i) and τ_(j) and it is independent of other channelparameters.

[0046] In FIG. 1B for example, the middle symbol of user 2 overlaps withother users with respect to at most two symbols in the frame. When thetwo adjacent user symbols are known, the right-hand side of equation (4)allows an explicit calculation of cross-correlation to the middle symbolof user 2. The right-hand side of equation (4) includes r(t), the totalreceived signal of all users and c_(in), the estimate on the firstapproximation of the user's symbol amplitude.

[0047] Once the correction value has been determined by the aboveprojection method, processing continues at step 206 where an estimate ofthe symbol amplitude is calculated. This calculation is performed bysubstituting the correction value obtained at step 204 using equation(5) for the term c′_(in) in equation (3). At step 208, this estimate ofsymbol amplitude a_(in) replaces the first approximation of the symbolamplitude obtained in step 202.

[0048] At step 210, it is determined if the entire signal of the currentwindow has been processed, and every user's amplitude has beencorrected. When the entire signal has been processed, i.e., theamplitude of the entire signal has been estimated, the final estimatedamplitude value a_(in) is obtained from equation (2), the value ofa_(in) allows the approximate value of r(t) to be obtained. In contrast,if the entire signal has not been processed, processing continues atstep 212 where it is determined whether a new frame has been defined (orobtained, or present, or received). When a new frame is defined,processing returns to step 202 where a first approximation of the signalamplitude is performed and steps 204 through 210 are repeated. However,when a new frame is not defined (step 212), the next iteration ofamplitude estimation is performed. This next iteration updates theestimated amplitude value based upon a new symbol amplitude estimate ofthe current user in the current window of the frame. Performing thecalculation of the next iteration begins at step 214 by shifting thecurrent window by one user symbol. This window shift is defined inequation (5) by the term n that corresponds to samples of user code i.Processing continues by returning to step 204, where the correctionvalue corresponding to the new user symbol within the current window ofthe frame is calculated and steps 206 through 210 are repeated.

[0049] A second aspect of the present invention is illustrated by theflow chart in FIG. 3. The flow chart of FIG. 3 illustrates theprocessing of the CDMA receiver 100 during multi-user detection. Theprocessing in steps 300, 302, and 306 through 314 are consistent withthe processing as described above in steps 200, 202, and 206 through 214of FIG. 2, respectively. At step 304, a decorrelation matrix is used toobtain the perturbation correction value. Perturbative decorrelation isperformed by including the correlation of terms Ψ_(j)(τ_(j)) with themiddle term (n=0) on the left-hand side of equation (4) to yield thefollowing equation: $\begin{matrix}{{\sum\limits_{i = 1}^{M}{c_{i\quad 0}^{\prime}{H_{j\quad i}(0)}}} = {r_{j} - {\sum\limits_{i = 1}^{M}{\sum\limits_{n = {- 1}}^{1}{c_{i\quad n}{H_{j\quad i}(n)}}}}}} & (7)\end{matrix}$

[0050] where c′_(j0) is obtained by inverting the matrix H_(ji)(0). Theinversion matrix (H_(ji)(0))⁻¹ is representative of the decorrelationmatrix and H_(ji)(n) is representative of the correlation matrices. Useof the decorrelation matrix is most effective when the signals of theusers are nearly synchronous. As noted above, there is no overlap ofuser signals within a synchronous system, i.e., the signals of otherusers contribute no useful information to each other. Therefore, forsimplicity and limitation of M equations for M unknowns, the terms n=−1and n=1 in the sum of the left-hand side of equation (4) are neglected.Moreover, when n=0 the correlation matrix H_(ji)(0) is a subset ofcorrelation matrix H_(ji)(n).

[0051] The flow chart of FIG. 4, illustrates another process consistentwith the present invention for performing high order perturbationcalculations. The initial steps (400, 402) of defining a frame andapproximating a symbol amplitude for a particular user are performed asexplained above regarding the flowcharts in FIGS. 2 and 3. Next, at step404, a delay spread of the symbols within the current window of theframe is evaluated to determine the type of matrix to be used duringperturbation correction. If the delay spread is small, e.g., less thantwo chips, there is very little overlap between dropped and includedterms, therefore multi-user decorrelation detection is performedaccording to steps 418-428, which correspond to previously describedsteps 304-314, respectively, using a correlation matrix. Otherwise,single-user projection detection according to steps 406-416, whichcorrespond to previously described steps 204-214, respectively, isperformed using a decorrelation matrix. The multi-user decorrelation andprojection detection schemes operate as previously described for theprocess shown in FIGS. 2 and 3. However, when a new frame is defined,operation in each processing scheme returns to step 402 where anapproximation of the symbol for the current user is acquired. Step 404is again performed when a new frame is introduced.

[0052] The flow chart shown in FIG. 5 illustrates a further processconsistent with the invention. The process in FIG. 5 relates to theperturbation method of FIG. 2, in the case in which the value of theprevious approximation is used to calculate the next symbol. Steps 500,502, and 506-514 are the same as steps 200, 202, and 206-214,respectively, of FIG. 2 and 300, 302, and 306-314 respectively of FIG.3. In FIG. 5 at step 504, a perturbation correction value is obtainedusing an immediate feedback technique. This feedback technique isdefined by equation (8) where the summation on the right-hand side (RHS)of equations (5) and (6) is changed to the following expression:$\begin{matrix}{{\sum(\quad)} = {{\sum\limits_{i = 1}^{M}{\sum\limits_{n = {- 1}}^{1}{c_{i\quad n}{H_{j\quad i}(n)}}}} + {\sum\limits_{i = 1}^{M}{a_{i{({- 1})}}{H_{j\quad i}\left( {- 1} \right)}}}}} & (8)\end{matrix}$

[0053] Using immediate feedback for the calculation of the next symbolsignificantly improves the perturbation correction on the basis thatthere is no delay about the correction. This is in contrast to the priorart where many symbols are processed before feedback can be performed.

[0054] For the processing schemes described above and illustrated inFIGS. 2-5, obtaining the correlation or decorrelation matrix for a wholeframe requires substantial computation. The computations involve allrows and columns of all users for each matrix. As noted above, when thesignal codes of users are orthogonal and are identical for each symbol,the number of computations is relatively small. However, if each symbolof the orthogonal code is multiplied by a scrambling code, which islonger than the symbol and overlaps adjacent frames, then a matrix ofevery symbol must be computed. A scrambling code is a random sequencemultiplied chip by chick on the spreading code. This is done to furtherrandomize the spreading codes so that they have less cross correlationwhen they are not synchronous. In the multi-user detection receiver,scrambling becomes unnecessary because the interference will eventuallybe cancelled. This procedure invariably produces a very large number ofcomputations. On the other hand, when the scrambling code is longer thanthe symbol but much shorter than the frame, the calculation of thecorrelation matrices is still efficient because the same correlationmatrix can be reused.

[0055] In accordance with the present invention, in order to address thecomputational complexity resulting from use of a longer scrambling code,instead of calculating the correlation matrix for every symbol, it ismore efficient to solve equation (4) directly because no correlationmatrix is needed. The summation on the right-hand side of the equationis performed sample by sample, as shown in FIG. 1A, and both sides arecorrelated with ψ_(i)(τ_(i)) to obtain c′_(j0).

[0056]FIG. 6 illustrates the simulation of a static model in which eachuser transmits a code at a fixed and equal absolute amplitude andrandomizes his delay at the beginning of a frame. The static model shows16-dimensional Walsh codes being used by 16 users, and each usercommunicating 100 bits over the system. The 100 bits are divided into 10frames, each consisting of 10 bits. Therefore, the signal of each useris measured in 10 bits/frame increments until the signal over the entireframe has been simulated.

[0057]FIGS. 7 and 8 illustrate the results of simulating a near/farmodel using the present invention. Near/far is simulated by identicalindependent distribution (iid) of the user's amplitude, a technique wellknown in the art. All channel parameters including code delay andabsolute amplitude of a user stay constant in a 10-bit frame but changesfrom frame-to-frame. The model illustrates the near-far problem, wheresignals of users transmitted from a location close to a receiver undergoless attenuation than those farther away. As a result, the signalstransmitted from a farther distance encounter greater interference,especially from the signals transmitted by closer users. FIGS. 7 and 8illustrate near-far resistance for the case of 16 and 32 users,respectively.

[0058] Higher order perturbation processing can further improve results.In high order perturbation processing, the current estimated valuec_(in) in Eq. (4) is equal to the symbol amplitude approximation valuea_(in) of the lower order perturbation. As discussed previously, Eq. (2)provides the amplitudes resulting from zero order perturbation. Eqs. (5)and (7) provide the first order perturbation based on projection anddecorrelation and also provide identical formulas for higher orderperturbation. In the second order perturbation, the estimated valuec_(in), in the summation of Eqs. (5) and (7), represents the amplitudea_(in) of the first order perturbation. Regarding the first orderperturbation, the first term r_(j) in Eqs. (5) and (7) is the same termcorrelated with the middle symbol in the 3-symbol window during singleuser detection. While FIG. 1A shows only the first order perturbation,FIGS. 2-5 illustrate any order of perturbation in terms of the number ofiterations executed in a frame before a new frame is triggered. If theresults of the perturbation converge, i.e., c′_(in) approaches zero,then the number of iterations is limited. Particularly, the convergenceis guaranteed when the signal to interference ratio is larger than apredetermined value that is greater than one. High order perturbationprocessing determines the next (higher) order of symbol amplitudeapproximation, using Eqs. (3)-(8).

[0059]FIG. 9 is a snapshot of FIG. 8 at a point in time in which thedelay spread of the signals is small.

[0060]FIGS. 10 and 11 show the results of higher order perturbationsimulation for 16 users. Particularly, FIG. 10 shows the results using aprojection method, whereas FIG. 11 shows the results usingdecorrelation. Additionally, the third order perturbation resultsillustrated in each figure exhibit significant improvements over thefirst order perturbation results.

[0061] Equations (1) through (8) as mentioned above can be implementedin hardware (e.g., ASIC) or software (e.g., DSP) whichever is moreconvenient.

[0062] It will be apparent to those skilled in the art that variousmodifications and variations can be made in the apparatus and method ofthe present invention without departing from the spirit or scope of theinvention. Thus, it is intended that the present invention cover themodifications and variations of this invention provided they come withinthe scope of the appended claims and their equivalents.

What is claimed is:
 1. A method of single-user projection detection in amultiple-access communication system, comprising the steps of: i)defining a frame including a plurality of user signals, each user signalhaving at least three symbols within a window of the frame; ii)approximating a plurality of symbol amplitudes for each user among aplurality of users in the window; iii) computing a set of correlationmatrices based upon a plurality of channel parameters in the frame; iv)calculating a current estimate of the approximated symbol amplitudescorresponding to at least one symbol of every user in the window usingthe set of correlation matrices in a perturbation correction technique;and v) shifting the window of the frame and returning to step (iv) whenan entire user signal has not been processed.
 2. The method according toclaim 1, wherein the symbol amplitude approximation is the currentestimate of the symbol amplitude, the method further comprising the stepof: vi) detecting the signals of a single-user when the symbolamplitudes for the particular user over the frame have been estimated.3. The method according to claim 1, further comprising the step of:(vii) returning to step (iv) to perform higher order perturbationprocessing; and (viii) returning to step (ii) upon defining a new frame.4. The method according to claim 1, wherein the perturbation correctionvalue in step (iv) is obtained from a set of linear equations forcalculating a plurality of perturbation amplitudes within the windowbased on a plurality of previously estimated amplitudes of each user andthe correlation matrix in the window.
 5. A method of multi-userdecorrelation detection in a multiple-access communication system,comprising the steps of: i) defining a frame including a plurality ofuser signals, each user signal having at least three symbols within theframe; ii) approximating a plurality of symbol amplitudes for each useramong a plurality of users in the frame; iii) computing a decorrelationmatrix and a set of correlation matrices based upon a plurality ofchannel parameters in the frame; iv) calculating a current estimate ofthe approximated symbol amplitudes corresponding to at least one symbolof every user in the window using the decorrelation matrix and a set ofcorrelation matrices in a perturbation correction calculation; and v)shifting the window and returning to step (iv) when an entire usersignal has not been processed.
 6. The method according to claim 5,wherein the symbol amplitude approximation is the current estimate ofthe symbol amplitude, the method further comprising: vi) detecting thesignals of a single-user when the symbol amplitudes for the particularuser over the frame have been estimated.
 7. The method according toclaim 5, further comprising the step of: (vii) returning to step (iv) toperform higher order perturbation processing; and (viii) returning tostep (ii) upon defining a new frame.
 8. The method according to claim 5,wherein the perturbation correction value in step (iv) is obtained froma set of linear equations for calculating a plurality of perturbationamplitudes within the window based on a plurality of previouslyestimated amplitudes of each user and the correlation matrix in thewindow.
 9. A method of detecting at least one of a plurality of users ina multiple-access communication system, comprising the steps of: i)defining a frame including a plurality of user signals, each signalbeing allocated at least three symbols within a window of the frame; ii)comparing a delay spread of the frame to a predetermined threshold; iii)approximating a symbol amplitude for each user of the plurality of usersin the window; iv) computing a set of correlation matrices and adecorrelation matrix based upon a plurality of channel parameters in theframe, the set of correlation matrices and decorrelation matrix beingdetermined by a result of the delay spread comparison; v) calculating acurrent estimate of the approximated symbol amplitude corresponding toat least one symbol of each user in the window using the determinedmatrices in a perturbation correction calculation; and vi) shifting thewindow and returning to step (v) when an entire user signal has not beenprocessed.
 10. The method according to claim 9, wherein the symbolamplitude approximation is the current estimate of the symbol amplitude,the method further comprising the step of: vii) detecting the signals ofat least one of a plurality of users when the symbol amplitude for theparticular user over the frame has been estimated.
 11. The methodaccording to claim 9, comprising the step of: (vii) returning to step(iv) to perform higher order perturbation value processing; and (viii)returning to step (ii) when a new frame is defined.
 12. The methodaccording to claim 9, wherein the perturbation correction in step (iv)is obtained from the set of linear equations for calculating a pluralityof perturbation amplitudes within the window based on previouslyestimated amplitudes of each user and the correlation matrix in thewindow.
 13. The method according to claim 9, wherein step (iv) includesthe substep of computing a correlation matrix and decorrelation matrixwhen the delay spread is below the predetermined threshold.
 14. Themethod according to claim 9, wherein step (iv) includes the substep ofcomputing a correlation matrix when the delay spread is above thepredetermined threshold.
 15. A method of detection in a multiple-accesscommunication system, comprising the steps of: i) defining a frameincluding a plurality of user signals, each user signal having at leastthree symbols within a window of the frame; ii) approximating a symbolamplitude for each user of the plurality of users in the frame; iii)obtaining a perturbation correction value using immediate feedback,wherein a new estimated amplitude is used as soon as it is available;iv) calculating a current estimate of the approximated symbol amplitudecorresponding to at least one symbol of every user in the frame basedupon a perturbation correction calculation; and v) shifting the windowand returning to step (iv) when an entire user signal has not beenprocessed.
 16. The method according to claim 15, wherein the symbolamplitude approximation is the current estimate of the symbol amplitude,the method further comprising the step of: vi) detecting the signals ofa single-user when the symbol amplitudes for the particular user overthe frame have been estimated.
 17. The method according to claim 15,further comprising the step of: (vii) returning to step (iv) to performhigher order perturbation processing; and (viii) returning to step (ii)upon defining a new frame.
 18. The method according to any one of claims1, 5, 9, or 15, wherein the symbols within the frame are defined by agroup of channel parameters, step (i) of each claim further comprisingthe substeps of: defining a set of margins for each parameter of eachuser within a channel; and determining a duration of the frame basedupon the set of margins.
 19. The method according to claim 15, whereinthe perturbation correction in step (iv) is obtained from a set oflinear equations for a plurality of perturbation amplitudes within thewindow based on a plurality of previously estimated amplitudes of eachuser and the correlation matrix in the window.
 20. An apparatus fordetecting at least one of a plurality of users in a multiple-accesscommunication system comprising: means for defining a frame, wherein theframe includes a plurality of user signals each user signal having atleast three symbols within a window of the frame; means forapproximating a plurality of symbol amplitudes for each user among aplurality of users in the window; means for computing a set ofcorrelation matrices based upon a plurality of channel parameters in theframe; means for calculating a current estimate of the approximatedsymbol amplitudes corresponding to at least one symbol for every user inthe window using the set of correlation matrices and the decorrelationmatrix in a perturbation correction technique; means for shifting thewindow of the frame and recalculating the current estimate of the symbolamplitude when an entire user signal has not been processed; and meansfor detecting the signal of at least one of a plurality of users whenthe symbol amplitude for the at least one user has been estimated.